<HTML>
<HEAD>
<TITLE>DefaultProjectName - ComputeCharactersWidths</TITLE>
<script type="text/javascript">
  var relPathToCommmon = "../../common/";
  var relPathToHelpDir = "../../common/help/";
</script>
<script type="text/javascript" src="../../common/jsdyn.js" language="JavaScript"></script>
<script type="text/javascript" src="../../common/js.js" language="JavaScript"></script>
<script type="text/javascript" src="leftmenu.js" language="JavaScript"></script>
<script type="text/javascript">
  var toSearchPage     = "_search','../../search";
  Body1();
</script>
<div class="headerPage">ComputeCharactersWidths</div>
<div class="path"><a href="#" OnMouseOver="link('','../../index',this)" class="pathLink">OOXlib</A><img src="../../common/path-arrow.gif" class="path-arrow"><a href="#" OnMouseOver="link('_dir','include0',this)" class="pathLink">include</A><img src="../../common/path-arrow.gif" class="path-arrow"><a href="#" OnMouseOver="link('_class','CGraphicsContext4032',this)" class="pathLink">CGraphicsContext</A><img src="../../common/path-arrow.gif" class="path-arrow"><span class="pathNonLink">ComputeCharactersWidths</span></div>
<script type="text/javascript">
 Body2();
 BodyLeftMenuStart();
WriteLeftMenu("","","","");
 BodyLeftMenuEnd();
 Body3();
</script>
<span class="tabInActive"><a href="#" OnMouseOver="linkTab('_member','ComputeCharactersWidths306386902','_description',this)" class="tabLinkInActive">Description</a></span>
<span class="tabActive"><a href="#" OnMouseOver="linkTab('_member','ComputeCharactersWidths306386902','_source',this)" class="tabLinkActive">Source</a></span>
<span class="tabInActive"><a href="#" OnMouseOver="linkTab('_member','ComputeCharactersWidths306386902','_callgraph',this)" class="tabLinkInActive">Call Graph</a></span>
<script type="text/javascript">
 Body4();
</script>
<div class="contentAirTop"></div>
<div class="paragraph2NoTopPadding">Start Line: 156</div>
<pre class="codeExamples">
::std::vector&lt; unsigned int &gt; <a href="#" onMouseOver="link('_member','ComputeCharactersWidths306386902',this); overLibDiagram();return overlib('<strong>Syntax</strong><BR>::std::vector< unsigned int >&nbsp;&nbsp;ComputeCharactersWidths&nbsp;&nbsp;()',CAPTION,'<strong>Brief description</strong><BR>Computes width for every character for the text, which<BR>was specified by the SetText() method.');" onMouseOut="return nd();">OOXlib::CGraphicsContext::ComputeCharactersWidths</a>()
                                                                  {
    // Get the font from GC.
    ::XFontStruct *font = ::XQueryFont(<a href="#" onMouseOver="link('_member','m_pXServerConnection1078138878',this); overLibDiagram();return overlib('<strong>Syntax</strong><BR>CXServerConnection *&nbsp;&nbsp;m_pXServerConnection ',CAPTION,'<strong>Brief description</strong><BR>');" onMouseOut="return nd();">m_pXServerConnection</a>-&gt;Get(), ::XGContextFromGC(<a href="#" onMouseOver="link('_member','m_GC1078138878',this); overLibDiagram();return overlib('<strong>Syntax</strong><BR>::GC&nbsp;&nbsp;m_GC ',CAPTION,'<strong>Brief description</strong><BR>');" onMouseOut="return nd();">m_GC</a>));
    // Compute and return the line height.
    if(NULL == font) {
        <a href="#" onMouseOver="link('_member','OOXLib_THROW3402324798',this); overLibDiagram();return overlib('<strong>Syntax</strong><BR>define&nbsp;&nbsp;OOXLib_THROW&nbsp;&nbsp;(ctor_name )',CAPTION,'<strong>Brief description</strong><BR>The main OOXlib throw replacement macro.');" onMouseOut="return nd();">OOXLib_THROW</a>(CXQueryFontException);
    }
    // Compute character widths.
    ::std::vector&lt;unsigned int&gt; widths;
    size_t linesCount = <a href="#" onMouseOver="link('_member','m_Text1078138878',this); overLibDiagram();return overlib('<strong>Syntax</strong><BR>::std::vector< ::std::string >&nbsp;&nbsp;m_Text ',CAPTION,'<strong>Brief description</strong><BR>');" onMouseOut="return nd();">m_Text</a>.size();
    for(size_t i = 0u; i &lt; linesCount; i++) {
        size_t lineLength = <a href="#" onMouseOver="link('_member','m_Text1078138878',this); overLibDiagram();return overlib('<strong>Syntax</strong><BR>::std::vector< ::std::string >&nbsp;&nbsp;m_Text ',CAPTION,'<strong>Brief description</strong><BR>');" onMouseOut="return nd();">m_Text</a>[i].size();
        for(size_t j = 0u; j &lt; lineLength; j++) {
            widths.push_back(static_cast&lt;unsigned int&gt;(::XTextWidth(font, m_Text[i].c_str(), lineLength)));
        }
    }
    ::XFreeFontInfo(NULL, font, 0);
    return widths;
}
</pre><div class="contentAirBottom"></div>
<script type="text/javascript">
 Body5();
Statistics("","","","","");
 Body6();
SetPageTab('_member','_source');
</script>
